
· 第一次挥手：主动关闭方（通常是客户端）发送一个 FIN（结束）报文段，
其中包含自己的序列号 seq = u，
表示客户端想要关闭连接，此时客户端进入 FIN_WAIT_1 状态。
· 第二次挥手：服务器收到客户端的 FIN 报文段后，会发送一个
 ACK 报文段作为应答，确认号 ack = u + 1，自己的序列号 seq = v，
 此时服务器进入 CLOSE_WAIT 状态，客户端收到 ACK 报文段后进入
FIN_WAIT_2 状态。
· 第三次挥手：服务器处理完剩余的数据后，
会发送一个 FIN 报文段，其中序列号 seq = w，确认号 ack = u + 1，
此时服务器进入 LAST_ACK 状态。
· 第四次挥手：客户端收到服务器的 FIN 报文段后，会发送一个 ACK 报文段进行确认，
确认号 ack = w + 1，序列号为 u + 1，然后客户端进入 TIME_WAIT 状态。服务器收到 
ACK 报文段后，就会关闭连接，进入
CLOSED 状态。客户端在 TIME_WAIT 状态停留一段时间（通常为 2 倍的 MSL，即最长报文段寿命）
后，也会关闭连接，进入 CLOSED 状态。
通过三次握手可以确保客户端和服务器双方都能确认对方的连接请求和能力，从而建立起可靠的连接。
而四次挥手则是为了确保双方都能完成数据的传输和处理，然后安全地关闭连接，释放资源。